package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.HashMap;
import java.util.Map;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* <p>
* 有赞资金流水导入VO
* </p>
*
* @author huangrensen
* @since 2024-06-26
*/
@Schema
@Data
public class YzFundFlowImportVo implements Serializable {
    @ExcelProperty(value = "店铺名称")
    private String yzStoreName;
    @ExcelProperty(value = "类型")
    private String billType;
    @ExcelProperty(value = "名称")
    private String productName;
    @ExcelProperty(value = "业务单号")
    private String businessNo;
    @ExcelProperty(value = "支付流水号")
    private String payFlowNo;
    @ExcelProperty(value = "关联单号")
    private String yzLinkNo;
    @ExcelProperty(value = "交易来源地")
    private String source;
    @ExcelProperty(value = "账务主体")
    private String accountName;
    @ExcelProperty(value = "账户类型")
    private String accountType;
    @ExcelProperty(value = "收入(元)")
    private String incomeAmount;
    @ExcelProperty(value = "支出(元)")
    private String payAmount;
    @ExcelProperty(value = "余额(元)")
    private String balanceAmount;
    @ExcelProperty(value = "支付方式")
    private String payType;
    @ExcelProperty(value = "交易对手")
    private String otherName;
    @ExcelProperty(value = "渠道")
    private String channel;
    @ExcelProperty(value = "下单时间")
    private String orderTime;
    @ExcelProperty(value = "入账时间")
    private String billTime;
    @ExcelProperty(value = "操作人")
    private String operator;
    @ExcelProperty(value = "附加信息")
    private String otherMessage;
    @ExcelProperty(value = "备注")
    private String remark;
    @ExcelProperty(value = "来源")
    private String sourceText;

    @ExcelIgnore
    private String billMonth;
    @ExcelIgnore
    private Long storeId;
    @ExcelIgnore
    private String uuid;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("店铺ID", "storeId");
        map.put("店铺名称", "yzStoreName");
        map.put("类型", "billType");
        map.put("名称", "productName");
        map.put("业务单号", "businessNo");
        map.put("支付流水号", "payFlowNo");
        map.put("关联单号", "yzLinkNo");
        map.put("交易来源地", "source");
        map.put("账务主体", "accountName");
        map.put("账户类型", "accountType");
        map.put("收入(元)", "incomeAmount");
        map.put("支出(元)", "payAmount");
        map.put("余额(元)", "balanceAmount");
        map.put("支付方式", "payType");
        map.put("交易对手", "otherName");
        map.put("渠道", "channel");
        map.put("下单时间", "orderTime");
        map.put("入账时间", "billTime");
        map.put("操作人", "operator");
        map.put("附加信息", "otherMessage");
        map.put("备注", "remark");
        map.put("来源", "sourceText");
        return map;
    }
}
